/*
  强哥的井字棋
  题目描述
    强哥最近很喜欢玩 "井字棋"，这天他找到大雄一起下 "井字棋"
    井字棋是在 3 ∗ 3 的网格中，双方轮流放下棋子，抢先形成一行/一列/一组对角线同色棋子的玩家胜利。

    强哥和大雄玩的井字棋规则如下:
      强哥和大雄轮流将自己的棋子放入空位（用 . 表示）中，并且每局游戏都是强哥先手（强哥先下棋）。
      强哥放的棋子用 X（大写字母） 表示，大雄的棋子用 H 表示；
      不允许把棋子放入已有棋子的位置中，只能放入空位；
      当有 3 个相同的棋子出现在同一行，同一列，或者同一对角线时，游戏结束，连出 3 个棋子的人获胜
      当所有空位都被填满，游戏也会结束，此时平局；
      游戏结束后不允许再次下棋；

    现在强哥和大雄玩到中途，对现在的棋局有一些争议！
    他们觉得现在的棋局可能不是正常下棋能形成的局面，可能双方在下棋时出现了犯规的行为
    比如, 这是一个可能形成的局面，强哥先手下在了 (2,3) 处，然后大雄下在了 (3,2) 处
      ...
      ..X
      .H.
    比如, 这是一个不可能形成的局面，强哥在连成 3 个 X 以后游戏就结束了，大雄不应该再下棋。
      X.H
      X.H
      X.H
    比如, 这是一个不可能形成的局面，强哥作为先手，不可能下了一个棋子后大雄能连下两个棋子
      .H.
      .H.
      .X.

    现在强哥和大雄希望你来帮他们判断一下，现在的局面到底是不是合法的？
    如果是则输出 "Yes", 否则输出 "No".
  输入格式 (chess.in)
    输入第一行包含一个正整数 T 表示有多组测试数据
    对于每组测试数据：
      输入三行长度为 3 的字符串用来描述当前的棋局情况
    其中每组测试数据之间会空一行
  输出格式 (chess.out)
    对于每组测试数据，输出当前局面是否合法，合法则输出 Yes 否则输出 No
  数据范围
    对于 10% 的数据保证：1 ≤ T ≤ 5，其中每组测试数据中最多只存在一个棋子；
    对于 40% 的数据保证：1 ≤ T ≤ 10，其中每组测试数据中最多只存在四个棋子；
    对于 100% 的数据保证：1 ≤ T ≤ 1000
  样例输入1
    3
    ...
    ..X
    .H.

    X.H
    X.H
    X.H

    .H.
    .H.
    .X.
  样例输出1
    Yes
    No
    No
*/